package com.yunsc.order.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.yunsc.product.dto.GoodsSkuDTO;
import lombok.Data;

import java.util.List;

/**
 * @version: 1.0
 * @Author: adan
 * @description:
 * @date: 2024-05-12 16:56
 */
@Data
public class CheckOrderGoodsVO{

    @JsonProperty("goods_id")
    private Integer goodsId;
    @JsonProperty("goods_type")
    private Integer goodsType;
    @JsonProperty("goods_name")
    private String goodsName;
    @JsonProperty("goods_no")
    private String goodsNo;
    @JsonProperty("video_id")
    private Integer videoId;
    @JsonProperty("video_cover_id")
    private Integer videoCoverId;
    @JsonProperty("selling_point")
    private String sellingPoint;
    @JsonProperty("spec_type")
    private Integer specType;
    @JsonProperty("goods_price_min")
    private String goodsPriceMin;
    @JsonProperty("goods_price_max")
    private String goodsPriceMax;
    @JsonProperty("line_price_min")
    private String linePriceMin;
    @JsonProperty("line_price_max")
    private String linePriceMax;
    @JsonProperty("stock_total")
    private Integer stockTotal;

    @JsonProperty("deduct_stock_type")
    private Integer deductStockType; // 库存计算方式(10下单减库存 20付款减库存)

    // 是否限制购买(0不限制 1限制)
    @JsonProperty("is_restrict")
    private Integer isRestrict;
    // 限制购买数量
    @JsonProperty("restrict_total")
    private Integer restrictTotal;
    // 单次限购数量
    @JsonProperty("restrict_single")
    private Integer restrictSingle;
    @JsonProperty("delivery_id")
    private Integer deliveryId;
    @JsonProperty("is_points_gift")
    private Integer isPointsGift;
    @JsonProperty("is_points_discount")
    private Integer isPointsDiscount;
    @JsonProperty("is_alone_points_discount")
    private Integer isAlonePointsDiscount;
    @JsonProperty("points_discount_config")
    private String pointsDiscountConfig;
    @JsonProperty("is_enable_grade")
    private Integer isEnableGrade;
    @JsonProperty("is_alone_grade")
    private Integer isAloneGrade;
    @JsonProperty("alone_grade_equity")
    private Object aloneGradeEquity;
    // 是否单独设置配送方式(0关闭 1开启)
    @JsonProperty("is_ind_delivery_type")
    private Integer isIndDeliveryType;
    @JsonProperty("delivery_type")
    private List<Integer> deliveryType;
    private Integer status;
    @JsonProperty("goods_image")
    private String goodsImage;
    @JsonProperty("goods_sales")
    private Integer goodsSales;
    @JsonProperty("skuInfo")
    private GoodsSkuDTO skuInfo;
    @JsonProperty("goods_price")
    private String goodsPrice;
    @JsonProperty("total_num")
    private Integer totalNum;
    @JsonProperty("goods_sku_id")
    private String goodsSkuId;
    @JsonProperty("total_price")
    private String totalPrice;
    @JsonProperty("is_user_grade")
    private boolean isUserGrade;
    @JsonProperty("grade_ratio")
    private String gradeRatio;
    @JsonProperty("grade_goods_price")
    private String gradeGoodsPrice;
    @JsonProperty("grade_total_money")
    private String gradeTotalMoney;
    @JsonProperty("coupon_money")
    private String couponMoney;
    @JsonProperty("max_points_num")
    private String maxPointsNum;
    private Integer pointsNum;
    @JsonProperty("points_money")
    private String pointsMoney;

    private String totalPayPrice;
    @JsonProperty("expressPrice")
    private String expressPrice = "0.00";

    private Integer pointsBonus;


    private boolean isIntraRegion;
    private boolean hasError =false;
    private String errorMsg;



    public boolean getIsUserGrade() {
        return isUserGrade;
    }

    public void setIsUserGrade(boolean isUserGrade) {
        this.isUserGrade = isUserGrade;
    }

    public void setIsIntraRegion(boolean b) {
        this.isIntraRegion = b;
    }

    public boolean getIsIntraRegion() {
        return isIntraRegion;
    }
}
